In a computer system that is configured as a cluster of cooperating computers, the resources in the computer system are shared by the computers that are members of the cluster. For example, a computer system may consist of a cluster of several computer nodes that are communicatively coupled to one another. In addition, the computer nodes may be connected to a “resource network” that includes shared resource devices such as a shared-SCSI disk driver, Storage Area Network (SAN) attached storage, Server Message Block (SMB) attached storage, etc.
Membership in the cluster does not automatically entitle a computer node to shared access of the shared resources. Rather, one technique is to allow only the computer nodes that are members of a “quorum group” of nodes share the shared resources. When a computer node breaks away from a quorum group, access to the shared resources are cut off from the break-away computer node. The cutting-off of access to the shared resource from break-away computer nodes is herein referred to as “fencing” the shared resource. Current solutions for fencing interactions between computer nodes in a cluster are tightly coupled to requirements that are specific to the I/O system of the computer system. Thus, there are no general solutions for fencing shared resources.
Based on the foregoing, there is a clear need for a general solution for managing access to a shared resource in a computer system that is configured as a cluster of nodes.